<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Set 实践</title>
</head>

<body>
    <script>
        let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
        // 1. 数组去重
        let result = [...new Set(arr)];
        console.log(result);

        // 2. 交集
        let arr2 = [4, 5, 6, 5, 6];

        // let result2 = [...new Set(arr)].filter(item => {
        //     let s2 = new Set(arr2);
        //     if (s2.has(item)) {
        //         return true;
        //     } else {
        //         return false;
        //     }
        // });
        let result2 = [...new Set(arr)].filter(item => new Set(arr2).has(item)); // [4 5]
        console.log(result2);

        // 3. 并集
        let union = [...new Set([...arr, ...arr2])]; // [1 2 3 4 5 6]
        console.log(union);

        // 4. 差集
        let diff = [...new Set(arr)].filter(item => !(new Set(arr2).has(item)));
        console.log(diff);

    </script>
</body>

</html>